From 0ac3069358e0d269a4d05cc9ff13ee427226de51 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 25 Apr 2007 18:01:44 +0000 Subject: [PATCH] Set the filename to NULL for builtin icons, sinc 2007-04-25 Matthias Clasen * gtk/gtkicontheme.c (theme_lookup_icon): Set the filename to NULL for builtin icons, sinc gtk_icon_info_get_builtin_pixbuf() depends on it. * tests/testicontheme.c: Report builtin icons. svn path=/trunk/; revision=17638 --- ChangeLog | 8 ++++++++ gtk/gtkicontheme.c | 18 ++++++++++++++---- tests/testicontheme.c | 4 ++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index b343ae3c67..c970be6376 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-04-25 Matthias Clasen + + * gtk/gtkicontheme.c (theme_lookup_icon): Set the filename to + NULL for builtin icons, sinc gtk_icon_info_get_builtin_pixbuf() + depends on it. + + * tests/testicontheme.c: Report builtin icons. + 2007-04-25 Matthias Clasen * gtk/gtkprintoperation.c (preview_iface_end_preview): Don't diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2aaa445dc8..b7db3f4f8c 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -2079,13 +2079,23 @@ theme_lookup_icon (IconTheme *theme, suffix = best_suffix (suffix, allow_svg); g_assert (suffix != ICON_SUFFIX_NONE); - file = g_strconcat (icon_name, string_from_suffix (suffix), NULL); - icon_info->filename = g_build_filename (min_dir->dir, file, NULL); - g_free (file); + if (min_dir->dir) + { + file = g_strconcat (icon_name, string_from_suffix (suffix), NULL); + icon_info->filename = g_build_filename (min_dir->dir, file, NULL); + g_free (file); #ifdef G_OS_WIN32 - icon_info->cp_filename = g_locale_from_utf8 (icon_info->filename, + icon_info->cp_filename = g_locale_from_utf8 (icon_info->filename, -1, NULL, NULL, NULL); #endif + } + else + { + icon_info->filename = NULL; +#ifdef G_OS_WIN32 + icon_info->cp_filename = NULL; +#endif + } if (min_dir->icon_data != NULL) icon_info->data = g_hash_table_lookup (min_dir->icon_data, icon_name); diff --git a/tests/testicontheme.c b/tests/testicontheme.c index c14f4d2d32..90d4eaad59 100644 --- a/tests/testicontheme.c +++ b/tests/testicontheme.c @@ -128,9 +128,9 @@ main (int argc, char *argv[]) if (argc >= 5) size = atoi (argv[4]); - icon_info = gtk_icon_theme_lookup_icon (icon_theme, argv[3], size, 0); + icon_info = gtk_icon_theme_lookup_icon (icon_theme, argv[3], size, GTK_ICON_LOOKUP_USE_BUILTIN); g_print ("icon for %s at %dx%d is %s\n", argv[3], size, size, - icon_info ? gtk_icon_info_get_filename (icon_info) : ""); + icon_info ? (gtk_icon_info_get_builtin_pixbuf (icon_info) ? "" : gtk_icon_info_get_filename (icon_info)) : ""); if (icon_info) { -- 2.30.2